package xyz.heyaoshare.utils;

import java.util.concurrent.ThreadLocalRandom;

/**
 * code工具类
 * @author YueHe
 * @version 0.0.1
 * @since 2025/6/27 下午4:48
 */
public class CodeUtils {

    private static final String ALPHANUMERIC_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

    /**
     * 生成指定长度的字母数字混合代码。
     *
     * @param length 要生成的代码的长度。
     * @return 生成的字母数字混合代码。
     */
    public static String generateAlphanumericCode(int length) {
        StringBuilder sb = new StringBuilder(length);

        for (int i = 0; i < length; i++) {
            int index = ThreadLocalRandom.current().nextInt(ALPHANUMERIC_CHARS.length());
            sb.append(ALPHANUMERIC_CHARS.charAt(index));
        }

        return sb.toString();
    }
}
